Copyright: CreateHelp! {Unregisterd} ® Nic Barnes 1993


IC Contents

Welcome to Install Creator.  With Install Creator you'll easily create a professional looking SETUP program.  No longer will you require your user to copy files from a disk, unzip, and add the programs manually to the desktop.  IC does it all for you!  From uncompressing file, to version checking, IC will do the hard work.  You just need to point, click, and insert the master disks.

About Stage Research

General Description

Requirements

Getting Started

Error messages


About Stage Research

Stage Research

- A group of programmers dedicated to creating useful programs.

- Have fun doing what their doing.

- Willing to take suggestions/criticism.

- Always looking for good ideas.

- Have "real" jobs programming operating systems.

- Like programming in 'C' instead of ASM all the time.

In general we're just a bunch of programmers who like to throw ideas around, come up with better ways of doing things, and ACTUALLY do them.  We are always looking to improve our programs, and gather ideas for great new ones.  If you have any questions, ideas, suggestions, etc., please feel free to contact us.

Thank you for using Stage Research products.


General Description

Install Creator, IC for short, will allow you to quickly select master files (compress or not compressed), create a SETUP script, then create master disks.  IC will provide you with a list of files, type of diskettes, and various other  options.  IC is designed to take the grunt work out of creating that ever so important SETUP program.

IC will also check if the correct files have been included in your file list.  It does this by looking at each EXE header and extracting the DLL/VBX modules that you have included in your project.  If it doesn't find these DLL/VBXs in your file list, you will be warned.  You can continue, but you'll know something may be missing.


Requirements

Computer

Any computer that can run Windows 3.1

Disk space

Enough disk space to hold these files.

Memory

Enough memory to run this program.


Getting Started

After SETUP has installed IC on your computer, you'll have these files in the destination directory.

IC.EXE	- The main program.

SETUP.EXE	- The SETUP program.

SR_ABOUT.DLL	- Support DLL program.

SR_DIB.DLL	- Support DLL program.

SR_REGS.DLL	- Support DLL program.

SR_FILE.DLL	- Support DLL program.

CTL3D.DLL	- Support DLL program

IC.BMP 	- Startup graphic

IC.HLP	- Help

IC.TXT	- Help in TXT format.

REGISTER.TXT	- How to register/get more copies.

Just run IC to create the SETUP script files that SETUP.EXE requires.


Error Messages

"Error copying file to destination.  Disk is either wrong size or wasn't empty when copy started.  Please insert new disk and try again."

When creating new master disks, the diskette that was provided wasn't formatted, it was the incorrect size, or there where files on it.  IC was not able to place the files on to this diskette.  Get a new diskette, format this one, or delete files off of it and continue.

"Files must be copied to a sub directory of the installation directory."

An attempt was made to force the copy of files to create a new ROOT directory.  Files can only be copied to the destination directory or a sub directory of the destination.

"Rules must be in the format of:  DLL,C,INI.  No extension longer than 3 characters."

The rules list is incorrect, the format must not have an extension any longer that 3 characters.

"Version must be in the form:  X.YY.  Where X is the major version and YY is the minor version."

The version format of either DOS or WINDOWS is not correct, fix and continue.

"File list will be lost, continue?"

You have changed the SOURCE directory, or the format of the diskette.  The current list will be lost and needs to be recreated.

"Invalid format for function from DLL.  Must be in form:  NAME.DLL,FUNCTION"

An external function must be executed from a DLL and the format for the edit box is:  DLL, Function.

"Incorrect date format.  Must be in form: MM/DD/YY"

Date is not correct, retype.

"Incorrect time format.  Must be in form:  HH:MM:SS"

Time is not correct, retype.

"No file was selected in the Current Disk list box."

A file must be selected from the Current Disk list box before this button can be pressed.

"No disk was selected in the Disk list box."

A disk must be selected from the Disk list box before this button can be pressed.


Menu

File

New

Open

Save...

Save As...

Exit

Configure

Select

Computer

User

Destination

Marketing

Create

Assign files to disks

Create Master disks

Help

Help Menu

Help index

About


Standard File IO

New, Open, Save, Save As and Exit are used to create new scripts, load old scripts, rename and exit.


Assign files to disks

Source directory of master files.

Directory where IC will create its list box lists from.

Every time you select a source directory, the file SETUP.EXE will be looked for, if it does not exist, the SETUP.EXE that is located in the IC.EXE directory will be copied there.  After the file exists you can use a resource editor to modify the Marketing Dialogs for your own use.

Diskette size

Possible sizes of diskettes when master disks are created.

List Boxes and commands.

Files, Disks, Current disk.

Files - Single click.

Just highlights a file.

Files - Double click.

Move the file from the Files list box to the Current Disk list box assigning it to the disk that is highlighted in the Disks list box.

Disks - Single click.

Just highlights a disk.

Disks - Double click.

Displays a information box that will allow the disk label to change.

Current Disk - single click.

Just highlights a file.

Current Disk - double click.

Displays a information box that will allow the file to be removed from this disk, changes the name on destination, and assigns the file to add to the group if created.

Status for each list box.

Files - total number of files and bytes in the source directory.

Disks - total number of files and bytes on ALL of the disks.

Current disk - total number of files and bytes on the CURRENT disk.

Buttons

Clear!

Clears the currently assigned file list.

Options....

More options for IC.

Auto fill!

Automatically files the disks with the source files using the least amount of disks as possible.

File Info...

Same as double clicking on Current Disk item.

Disk Info...

Save as double clicking on Disks item.

Override

This button will only appear if you have created a list of files that require dyna-linking to other DLLs and those DLLs are not found.  This feature will prevent you from shipping your program without the necessary DLL/VBX files.   If a DLL is not to be included, you can still create the program list by pressing the OVERRIDE button when it appears.

NOTE -

If you attempt to add a file that is too large for the current disk, the disk will automatically proceed to the next one.  If the file is larger than a disk can hold and Split file is turned off (See options) the fill WILL NOT leave the Files list box.


Assign Options

Set date and time

When master disks are created, all files will be stamped with this date and time.

Use version checking

With version checking turned on, before SETUP copies a file it will ask Windows if it already exists.  If the file already exists and is NEWER, then SETUP will not destroy the newer version.  Use this feature with care.  If your the DLLs or VBXs that are already on the system are NEWER and don't support the features you expect, your program may not work.  It might be better to copy all the files into a single directory not using the Rules... feature.


Diskette Information

Label disk with this name

When the master disks are created, this will be the name that is in the LABEL.


File information

Name of the file at destination

When SETUP is copying file, this will be the name of the file at the destination.  SETUP will also be able to handle sub directories.  So if you wanted to create a sub directory and place a couple files there you would type this:

sub\FILENAME.XXX

NOT -

You CAN NOT create new  root directories, just sub.

Place file in group

If you are creating a group, check this box if you want this file to be place in the group box.

Buttons

Remove

Click this button to remove the file from the CURRENT FILES list box and place it back into the FILES list box.


Select

Background Style

Background that SETUP will display when it is running.  Currently only gradient blue, solid blue and solid gray are the options.

Title

Title SETUP will display in setup screen.


Computer Requirements

DOS/WIN Versions

Select the minimum version of DOS and WINDOWS that your program will require to run.  SETUP will display an error message if the version is incorrect.

Test disk space

Test disk space before copying files to destination.  SETUP will display an error message if there is not enough disk space.


User information

Ask user for name

Ask for user name when SETUP runs.

Ask user for company

Ask for company name when SETUP runs.

Ask user for registration number

Ask for registration number when SETUP runs.  This STRING will then be passed to a defined function in a DLL.  The DLL MUST have the function in it to verify if the registration number is correct and return TRUE if it is or FALSE if it is not.

DLL and FUNCTION name to verify registration number

Must be in the format:   DLL,Function

If Ask user for registration is check, a DLL MUST be provided to test if the registration number is correct.  This DLL MUST also be on the first master disk.  If the DLL is not present the user will NOT be able to install your product.  See sample DLL in help.

The user name, company, and registration information will be stored in a file called CUSTINFO.INI in the Windows directory.  For each product you install on the customer machine, this information will be read and added to.


Destination

Name of default destination directory

Where your product will be installed unless the user overrides the directory.

Allow user to override destination directory

If turned on, the user will be able to specify a different directory then the one suggested.

Place all files in destination directory.

If selected ALL files will be copied to the user defined directory.

Place files in directories according to rules.

If selected files will be copied according to the Rules...


Rules

Files that are copied to the \WINDOWS\SYSTEM directory

Files that end in these extensions will be copied to the users \WINDOWS\SYSTEM directory.

Files that are copied to the \WINDOWS directory

Files that end in these extensions will be copied to the users \WINDOWS directory.

The locations of the WINDOWS directory will vary according to user, SETUP will ask Windows where these directories are.


Marketing options

Display marketing dialogs

Marketing dialogs are those dialogs that appear on your screen, display some information, and change every few seconds.  Everyone has them, so why not you.

When this box is checked on, the NOTES... button will be usable to create notes to display in the setup program.  Each note will be displayed for a predetermined amount of time that you have selected.

Execute function when done.

When SETUP has finished copying and uncompressing file, this function can be executed.  If this function returns FALSE the setup program will not complete.  If it returns TRUE, setup will create the GROUP file and exit.  See sample DLL in help.

Create group when done.

When checked will create a group file with the name provide.  In this group will be files that are selected from the Assign files to disks dialog / Assign Options.


Create master disks

Automatically copies the files to the master disks prompting you to insert the correct disk and click on the "Create" button.  If the files don't fit because of an error, you'll be prompted to create the same disk over with a new diskette.


Sample DLL

This is a 'C' sample program that compiles under Microsoft Visual C 1.0.  You'll need to make your own MAK file.

Files necessary:

VERIFY.C

VERIFY.DEF

VERIFY.C

// VERIFY.DLL

//

//  Generic registration verification DLL.

//

#include <windows.h>                // Windows API

// Global variables

HINSTANCE   hInstanceDLL;

// WEP

// INTERNAL FUNCTION

//  The routine that gets executed when the DLL is unloaded.

//

int FAR PASCAL WEP(int iExitCode)

{

    int iReturn = TRUE;

    switch (iExitCode)

        {

        case    WEP_SYSTEM_EXIT:

        case    WEP_FREE_DLL:

            iReturn = TRUE;

            break;

        }

    return (iReturn);

}

// LibMain

// INTERNAL FUNCTION

//  The routine that gets called when the DLL is loaded.

//

int CALLBACK LibMain (HINSTANCE hInstDLL, WORD wDataSegment, WORD wHeapSize, LPSTR lpszCommandLine)

{

    int iReturn = TRUE;

    if(wHeapSize != 0)

        UnlockData(0);

    // Store HINSTANCE of DLL in global memory.

    hInstanceDLL = hInstDLL;

    return (iReturn);

}

// RegisterVerify

//

//      Verify that the user has supplied the correct registration number.

//

//  Input:

//      LPSTR   String to verify, NULL terminated.

//  Return:

//      BOOL    TRUE - Successful verification.

//              FALSE - Failed to verify

BOOL WINAPI _export _loadds RegisterVerify (LPSTR lpString)

{

Here is where you need to place your code to verify if the registration number is correct.  If the number matches what you expect, then return TRUE.  If it doesn't then return FALSE.  You can pretty much do what you want, but try to keep it simple.

    return (TRUE);

}

// UserFunction

//

//       Execute this function from the SETUP program when almost

//       done.

//

//  Input:

//	NONE

//  Return:

//	BOOL	TRUE - Success, continue SETUP.

//	FALSE - Fail, fail SETUP.

BOOL WINAPI _export _loadds UserFunction (void)

{

Here is where you can add functionality to the SETUP program.  After all the files are copied to the destination, this DLL will be loaded and this function will be executed.  You can pretty much do what you want, dialogs, etc, just be sure to return TRUE if all is OK and FALSE if you want SETUP to fail.

return (TRUE);

}

VERIFY.DEF

LIBRARY   VERIFY

EXETYPE   WINDOWS

CODE      PRELOAD MOVEABLE DISCARDABLE

DATA      PRELOAD MOVEABLE SINGLE

HEAPSIZE  1024